package JavaDowork.pratice6;

public class Q4 {

    public static void main(String[] args) {
        // 定义一个长度为10的int数组并初始化
        int[] numbers = {5, 3, 9, 6, 8, 2, 1, 7, 4, 0};

        // 输出原数组元素
        printArray(numbers);

        // 使用选择排序算法将数组升序排序
        selectionSort(numbers);
        printArray(numbers);

        // 使用冒泡排序算法将数组降序排序
        bubbleSort(numbers);
        printArray(numbers);
    }

    // 输出数组元素的方法
    static void printArray(int[] numbers) {
        System.out.println("数组元素如下：");
        for (int number : numbers) {
            System.out.print(number + " ");
        }
        System.out.println();
    }

    // 选择排序算法
    static void selectionSort(int[] numbers) {
        for (int i = 0; i < numbers.length - 1; i++) {
            int minIndex = i;
            for (int j = i + 1; j < numbers.length; j++) {
                if (numbers[j] < numbers[minIndex]) {
                    minIndex = j;
                }
            }
            if (minIndex != i) {
                int temp = numbers[i];
                numbers[i] = numbers[minIndex];
                numbers[minIndex] = temp;
            }
        }
    }

    // 冒泡排序算法
    static void bubbleSort(int[] numbers) {
        for (int i = numbers.length - 1; i >= 0; i--) {
            for (int j = 0; j < i; j++) {
                if (numbers[j] > numbers[j + 1]) {
                    int temp = numbers[j];
                    numbers[j] = numbers[j + 1];
                    numbers[j + 1] = temp;
                }
            }
        }
    }
}
